using RomanJendrusz.Amazon.ETL.Infrastructure.Bus;
namespace RomanJendrusz.Amazon.ETL.Messages
{
    public class GetBookListmaniaListsRequest: AmazonRequest
    {
        public override string Destination
        {
            get { return AwsDestinations.ItemLookup; }
        }

        public override string ResponseGroup
        {
            get { return "ListmaniaLists"; }
        }

        public string BookAsin { get; set; }


        public override string ToString()
        {
            return string.Format("Destination : {0} | ResponseGroup : {1} | BookAsin : {2}", Destination, ResponseGroup,
                                 BookAsin);
        }

        public bool Equals(GetBookListmaniaListsRequest getBookListmaniaListsRequest)
        {
            if (getBookListmaniaListsRequest == null) return false;
            if (!base.Equals(getBookListmaniaListsRequest)) return false;
            return Equals(BookAsin, getBookListmaniaListsRequest.BookAsin);
        }

        public override bool Equals(object obj)
        {
            if (ReferenceEquals(this, obj)) return true;
            return Equals(obj as GetBookListmaniaListsRequest);
        }

        public override int GetHashCode()
        {
            return base.GetHashCode() + 29*(BookAsin != null ? BookAsin.GetHashCode() : 0);
        }
    }
}